﻿using System;
using System.Web.Services;
using System.Web.UI;
using Business;

namespace Gui.Web.Reportes
{
    public partial class VentasCredito : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack) return;

            var fechas = new FechaBusiness();
            MesInicio.DataSource = fechas.ObtenerMeses().Meses;
            MesInicio.DataBind();
            MesFin.SelectedIndex = 0;

            MesFin.DataSource = fechas.ObtenerMeses().Meses;
            MesFin.DataBind();
            MesFin.SelectedIndex = DateTime.Now.Month - 1;

            Anios.DataSource = fechas.ObtenerAnios().Anios;
            Anios.DataBind();
            Anios.SelectedValue = DateTime.Now.Year.ToString();

            ObtenerResumenVentas();
        }

        private void ObtenerResumenVentas()
        {
            var ventas = new VentasBusiness();
            DatosDeVentas.DataSource = ventas.ObtenerVentasCredito(
                            Convert.ToInt32(Anios.SelectedItem.Value),
                            Convert.ToInt32(MesInicio.SelectedItem.Value), 
                            Convert.ToInt32(MesFin.SelectedItem.Value));
            DatosDeVentas.DataBind();
            TotalTitulo.Text = string.Format("Total S/. {0:0.00}", ventas.TotalVentasCredito);
        }

        [WebMethod]
        public static string ObtenerVentasChart(int anio, int mesInicio, int mesFin)
        {
            var reportes = new ReportesBusiness();
            var json = reportes.ObtenerReporteVentasCredito(anio, mesInicio, mesFin);
            return json;
        }

        protected void MesInicio_SelectedIndexChanged(object sender, EventArgs e)
        {
            ObtenerResumenVentas();
        }

        protected void MesFin_SelectedIndexChanged(object sender, EventArgs e)
        {
            ObtenerResumenVentas();
        }

        protected void Anios_OnSelectedIndexChanged_SelectedIndexChanged(object sender, EventArgs e)
        {
            ObtenerResumenVentas();
        }
    }
}
